package com.deyuanyun.pic.ctrl.mapper.repair;

import java.math.BigDecimal;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.deyuanyun.pic.ctrl.controller.dto.ExinspOclpointQueryVO;
import com.deyuanyun.pic.ctrl.controller.dto.ExinspOclpointDTO;
import com.deyuanyun.pic.ctrl.controller.dto.NearbyLocationDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RepairTaskDTO;
import com.deyuanyun.pic.ctrl.controller.dto.RepairTaskQueryVO;


/**
 * 维修任务的拓展Mapper
 *  主要实现一些自动生成的不被支持或支持不理想的方法，比如set a=null。
 * 
 * 此Mapper并不针对某一单表。而是针对维修任务这一个大功能。
 * 
 * @author ChenKui
 * @date 2016-06-21
 *
 */
public interface CoatRepairTaskExpandMapper {
    
    
    /**
     * 查询维修任务列表
     * 
     * @param repairTaskVO
     * @return
     */
    List<RepairTaskDTO> queryRepairTaskList(RepairTaskQueryVO repairTaskVO);
    
    
    /**
     * 把缺陷点对应的任务编号给清除掉。
     *  update PIC_TDF_DEFECT_INFO set repairTaskId = null ...
     * 
     *  因为生成的方法在处理=null的问题上，比较麻烦。
     *  并且无批量的条件UPDATE，即便有，=null也是一个尴尬的东西。
     *  所以单独写了一个方法来实现此功能。
     * 
     * @param repairTaskId
     */
    int updateDefectInfoRepairTaskIdToNull( @Param("repairTaskId") String repairTaskId);
    
    
    /**
     * 查询指定管道某个位置的附近的定位位置。
     * 附近的 环焊缝、弯头、Mark
     * 
     * @param pipeLineId
     * @param mileage
     * @return
     */
    List<NearbyLocationDTO> queryNearbyLocationByMileage(@Param("pipeLineId")String pipeLineId,@Param("mileage")BigDecimal mileage);
    

    /**
     * 查询缺陷点相关信息
     * 
     * @param defectSuggest
     * @return
     */
    List<ExinspOclpointDTO> queryExinspOclpoint(ExinspOclpointQueryVO defectSuggest);
    
    
}